using System;
using System.ComponentModel;
using System.Data;
using System.Runtime.Serialization;

namespace MinCultura.Sipa.DataAccess.AgentesArtes
{
	/// <summary>
	/// A custom serializable dataset containing 
	/// </summary>
	[Serializable()]
	[DesignerCategory("code")]


	/// <summary>Class for handling datasets</summary>  
		public class AgentesSocioeconomicaData : DataTable
	{
		///
		/// Constants for table and fields mapping
		///
		public const string ART_AGENTES_SOCIOECONOMICA_TABLE = "ART_AGENTES_SOCIOECONOMICA";

		public const string AGE_ID_FIELD = "AGE_ID";
		public const string AGE_NRO_PERSONAS_CARGO_FIELD = "AGE_NRO_PERSONAS_CARGO";
		public const string TIV_ID_FIELD = "TIV_ID";
		public const string AGE_OTRO_TIPO_VIVIENDA_FIELD = "AGE_OTRO_TIPO_VIVIENDA";
		public const string AGE_ESTRATO_FIELD = "AGE_ESTRATO";
		public const string SLA_ID_FIELD = "SLA_ID";
		public const string AGE_OTRA_SITUACION_LABORAL_FIELD = "AGE_OTRA_SITUACION_LABORAL";
		public const string AGE_OTRA_ACTIVIDAD_FIELD = "AGE_OTRA_ACTIVIDAD";
		public const string FIN_ID_FIELD = "FIN_ID";
		public const string AGE_INGRESOS_DIRECTOS_MES_FIELD = "AGE_INGRESOS_DIRECTOS_MES";
		public const string AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD = "AGE_PORCENTAJE_ACTIVIDAD_ATISTICA";
		public const string AGE_SEGURIDAD_SOCIAL_SALUD_FIELD = "AGE_SEGURIDAD_SOCIAL_SALUD";
		public const string REG_SALUD_ID_FIELD = "REG_SALUD_ID";
		public const string AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD = "AGE_SEGURIDAD_SOCIAL_PENSIONES";
		public const string REG_PENSIONES_ID_FIELD = "REG_PENSIONES_ID";
		public const string AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD = "AGE_SEGURIDAD_SOCIAL_RIESGOS";


		protected AgentesSocioeconomicaData(SerializationInfo info, StreamingContext context)
		{
			//
		}

		public AgentesSocioeconomicaData()
		{
			BuildDataTables();
		}

		/// <summary>
		/// Creates the following datatables: Localidades
		/// </summary>
		private void BuildDataTables()
		{
			Columns.Add(AGE_ID_FIELD, typeof (Decimal));
			Columns[AGE_ID_FIELD].Caption = "Id Agente";

			Columns.Add(AGE_NRO_PERSONAS_CARGO_FIELD, typeof (Int16));
			Columns[AGE_NRO_PERSONAS_CARGO_FIELD].Caption = "Num Personas a Cargo";

			Columns.Add(TIV_ID_FIELD, typeof (Decimal));
			Columns[TIV_ID_FIELD].Caption = "Tipo Vivienda";

			Columns.Add(AGE_OTRO_TIPO_VIVIENDA_FIELD, typeof (String));
			Columns[AGE_OTRO_TIPO_VIVIENDA_FIELD].Caption = "Otro Tipo Vivienda";

			Columns.Add(AGE_ESTRATO_FIELD, typeof (String));
			Columns[AGE_ESTRATO_FIELD].Caption = "Estrato";

			Columns.Add(SLA_ID_FIELD, typeof (Decimal));
			Columns[SLA_ID_FIELD].Caption = "Tipo Vinculacion Salarial";

			Columns.Add(AGE_OTRA_SITUACION_LABORAL_FIELD, typeof (String));
			Columns[AGE_OTRA_SITUACION_LABORAL_FIELD].Caption = "Otra Vinculacion Salarial";

			Columns.Add(AGE_OTRA_ACTIVIDAD_FIELD, typeof (String));
			Columns[AGE_OTRA_ACTIVIDAD_FIELD].Caption = "Otra Actividad";

			Columns.Add(FIN_ID_FIELD, typeof (Decimal));
			Columns[FIN_ID_FIELD].Caption = "Tipo Fuente de Ingreso";

			Columns.Add(AGE_INGRESOS_DIRECTOS_MES_FIELD, typeof (Decimal));
			Columns[AGE_INGRESOS_DIRECTOS_MES_FIELD].Caption = "Ingresos Directos";

			Columns.Add(AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD, typeof (Decimal));
			Columns[AGE_PORCENTAJE_ACTIVIDAD_ATISTICA_FIELD].Caption = "Porcentaje Ingresos por Actividad Artistica";

			Columns.Add(AGE_SEGURIDAD_SOCIAL_SALUD_FIELD, typeof (String));
			Columns[AGE_SEGURIDAD_SOCIAL_SALUD_FIELD].Caption = "Tiene Seguridad Artistica";

			Columns.Add(REG_SALUD_ID_FIELD, typeof (Decimal));
			Columns[REG_SALUD_ID_FIELD].Caption = "Tipo Regimen Salud";

			Columns.Add(AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD, typeof (String));
			Columns[AGE_SEGURIDAD_SOCIAL_PENSIONES_FIELD].Caption = "Esta Afiliado a Pensiones";

			Columns.Add(REG_PENSIONES_ID_FIELD, typeof (String));
			Columns[REG_PENSIONES_ID_FIELD].Caption = "Tipo Regimen Pensiones";

			Columns.Add(AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD, typeof (String));
			Columns[AGE_SEGURIDAD_SOCIAL_RIESGOS_FIELD].Caption = "Tiene Seguridad Social";

			TableName = ART_AGENTES_SOCIOECONOMICA_TABLE;
		}

		/// <summary>
		/// Add a new row to the table
		/// </summary>
		/// <param name="row">Dataset row
		public void addAgentesSocioeconomica(DataRow row)
		{
			Rows.Add(row);
		}

	}

}